<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        /**
         * 分为形参和实参
         * 如果形参数量大于实参，未赋值的参数将为undefined，常用于函数重载
         * 如果实参大于形参，多余的参数将无意义
         * 使用短路运算符或默认参数对某些参数赋默认值，默认参数必须放在参数的后面
         * arguments可以取到当前函数的实参列表，不是真正的数组，需要通过[...arguments]或者Array.from()转换。
         * ...args声明可变参数，可以直接当做数组使用，只能放到参数的最后一项
         */
         function sort(arr, type="dsc") {
             return arr.sort(function(item1, item2) {
                 return type === 'dsc' ? item1 - item2 : item2 - item1
             })
         }
         console.log(sort([1, 3, 6, 2, 5, 8])); // [1, 2, 3, 5, 6, 8]
         console.log(sort([1, 3, 6, 2, 5, 8], 'desc')); // [8, 6, 5, 3, 2, 1]
    </script>
</body>
</html>